package com.java110.community.dao;


import com.alibaba.fastjson.JSONObject;
import com.java110.dto.repair.RepairDto;
import com.java110.dto.repair.RepairPhotoDto;
import com.java110.dto.repair.RepairReturnVisitDto;
import com.java110.dto.repair.RepairStaffsFlow;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 小区组件内部之间使用，没有给外围系统提供服务能力
 * 小区服务接口类，要求全部以字符串传输，方便微服务化
 * 新建客户，修改客户，删除客户，查询客户等功能
 * <p>
 * Created by wuxw on 2016/12/27.
 */
public interface IRepairServiceDao {


    Long saveOwnerRepair(RepairDto repairDto);

    List<RepairDto> listOwnerRepairs(JSONObject reqJson);

    void updateOwnerRepair(JSONObject reqJson);

    void deleteOwnerRepair(JSONObject reqJson);

    void repairDispatch(JSONObject reqJson);

    RepairDto getOneById(Long repairId);

    void repairDispatchFlow(JSONObject reqJson);

    List<RepairStaffsFlow> listRepairStaffs(JSONObject reqJson);

    RepairStaffsFlow lastTimeRepairFlow(Long repairId);

    void updateRepairDispatchFlow(RepairStaffsFlow repairStaffsFlows);

    List<RepairDto> listStaffRepairs(JSONObject reqJson);

    void repairStop(JSONObject reqJson);

    void repairStart(JSONObject reqJson);

    void repairFinish(@Param("list") List<RepairPhotoDto> list);

    void choosedGoodsList(@Param("list")List<HashMap<Object, Object>> list);

    List<RepairDto> queryRepairReturnVisit(String communityId);

    void saveRepairReturnVisit(RepairReturnVisitDto dto);
}